package com.parking.mgr.useraccount.model.param;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.parking.mgr.common.pojo.base.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @ClassName BasicCodeParam
 * @Description 数据字典参数
 * @Auther: shilintao
 * @Date: 2023/5/24
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(description = "数据字典请求数据")
public class BasicCodeParam extends BaseParam {

    @ApiModelProperty(value = "ID")
    @NotNull(message = "id不能为空，请检查id参数",groups = {edit.class, delete.class, detail.class})
    private String id;

    @ApiModelProperty(value = "父ID")
    @JsonProperty("fkParentId")
    @NotNull(message = "所属上级不能为空，请检查fkParentId参数", groups = {add.class, edit.class})
    private String fkParentId;

    @ApiModelProperty(value = "名称")
    @JsonProperty("fName")
    @NotBlank(message = "名称不能为空，请检查fName参数", groups = {add.class, edit.class})
    private String fName;

    @ApiModelProperty(value = "名称国际化文本key")
    @JsonProperty("fNameI18nTextKey")
    private String fNameI18nTextKey;

    @ApiModelProperty(value = "我的key")
    @JsonProperty("fKey")
    private String fKey;

    @ApiModelProperty(value = "值")
    @JsonProperty("fValue")
    private String fValue;

    @ApiModelProperty(value = "备注注释")
    @JsonProperty("fComment")
    private String fComment;

    @ApiModelProperty(value = "排序编号")
    @JsonProperty("fSortNumber")
    private Integer fSortNumber;

}
